﻿namespace Bzstd.Entity;

[Serializable]
public class PuzzleItem
{
	public ulong FileId { get; set; }

	public uint Type { get; set; }

	public bool Coop { get; set; }

	public string ChamberSize { get; set; }

	public uint Visibility { get; set; }

	public string[] Tags { get; set; }

	public string PuzzleFileName { get; set; }

	public string MapFilePath { get; set; }

	public string PreviewFilePath { get; set; }

	public PublishInfo Workshop { get; set; } = new();

	public PublishInfo Local { get; set; } = new();
}

[Serializable]
public class PublishInfo
{
	public string Title { get; set; }

	public string Description { get; set; }

	public DateTimeOffset CreateTime { get; set; }

	public DateTimeOffset UpdateTime { get; set; }

	public string MapFileName { get; set; }

	public ulong MapFileSize { get; set; }

	public string Preview { get; set; }
}

[Serializable]
public class QueryInfo
{
	public string QueryWay { get; set; }

	public string AuthorUrl { get; set; }

	public string AuthorType { get; set; }

	public string ItemUrl { get; set; }
}
